# Kastrax Overview

Kastrax is a powerful AI Agent framework built in Kotlin, designed to create sophisticated, intelligent agents with advanced capabilities. It combines the Actor model for distributed systems with modern AI agent architectures to provide a comprehensive platform for building AI-powered applications.

## What is Kastrax?

Kastrax is an open-source framework that enables developers to build AI agents with:

- **Multiple Agent Architectures**: Adaptive, Goal-Oriented, Hierarchical, and Reflective agents
- **Distributed Actor System**: Based on the kactor library for scalable, resilient applications
- **Advanced Memory Management**: Working memory, conversation history, and semantic recall
- **Tool Integration**: Easily extend agents with custom tools and capabilities
- **RAG System**: Built-in Retrieval-Augmented Generation for knowledge-based applications
- **Workflow Engine**: Create complex agent workflows with state management
- **Multiple LLM Integrations**: Support for DeepSeek, OpenAI, Anthropic, and more

## Key Features

### Agent Architectures

Kastrax provides several agent architectures to suit different use cases:

- **Adaptive Agents**: Adjust behavior based on user preferences and feedback
- **Goal-Oriented Agents**: Focus on achieving specific objectives with task planning
- **Hierarchical Agents**: Organize complex tasks into manageable sub-tasks
- **Reflective Agents**: Self-monitor and improve performance through reflection

### Actor Model Integration

Kastrax integrates with the kactor library to provide:

- **Distributed Processing**: Scale across multiple machines
- **Message-Passing Concurrency**: Resilient, non-blocking communication
- **Supervision Hierarchies**: Fault tolerance and recovery
- **Location Transparency**: Seamless local and remote actor communication

### Memory System

The memory system in Kastrax provides:

- **Working Memory**: System instructions and user information
- **Conversation History**: Recent message tracking
- **Semantic Recall**: Retrieval of relevant past information
- **Memory Processors**: Context management and optimization

### Tool System

Kastrax includes a flexible tool system:

- **Built-in Tools**: File operations, web requests, data processing, and more
- **Custom Tool Creation**: Easily extend with your own tools
- **Tool Validation**: Parameter validation with Zod
- **Tool Chaining**: Combine tools for complex operations

## Getting Started

To start using Kastrax, follow these steps:

1. [Installation](./installation.mdx): Set up your Kastrax project
2. [First Agent](./first-agent.mdx): Create your first Kastrax agent
3. [Running Examples](./examples.mdx): Explore the example applications

## Use Cases

Kastrax is suitable for a wide range of applications:

- **Conversational AI**: Build sophisticated chatbots and assistants
- **Knowledge Workers**: Create agents that can research, analyze, and summarize information
- **Process Automation**: Automate complex workflows with intelligent agents
- **Distributed Systems**: Build resilient, scalable AI applications
- **Multi-Agent Systems**: Create collaborative agent networks

## Next Steps

After getting familiar with the basics, explore these areas:

- [Agent Architectures](../agents/architectures.mdx): Learn about different agent types
- [Memory System](../memory/overview.mdx): Understand how agent memory works
- [Tool Integration](../tools/overview.mdx): Extend your agents with tools
- [Actor Model](../actor/overview.mdx): Learn about the distributed actor system
